<div id="what-is-this">
  <h3>What is this?</h3>
  <p>Do you know about the <em>Six degrees of separation</em> theory? It states that &quot;everyone is at most six steps away from any other person on Earth&quot;. From this idea arose the trivia game &quot;Six Degrees of Kevin Bacon&quot;. The aim is to link any actor to Kevin Bacon using the fewest number of movies. In 1996, Brett Tjaden built an oracle able to tell how many movies are needed to link Mr. Bacon to any other actor. And then "The oracle of Bacon" was born.</p>

  <p>In 2007, I started my Computer Science degree at the Polythecnic University of Valencia and I started a volunteer assignment for the <em>Programming</em> subect trying to implement the same oracle in C. A few months later, I had built my own version of &quot;The oracle of Bacon&quot;. I decided not to abandon the project because I learned lots of computing stuff while I was working on it and I wanted to keep learning.</p>
  <p>Three years later, I rewrote the oracle and renamed it as "The Oracle of Woody Allen" in honor of one of the best film directors. I also changed the perspective of the game. Not only actors and actresses are famous and important in the film world, also directors, producers and writers are. So, I decided to play with them too.</p>
</div>
<div id="how-does-it-work">
  <h3>How does it work?</h3>

  <p>Currently, you have available three different requests:</p>
  <ul>
    <li>Link two persons: Find the shortest path between two persons.</li>
    <li>People at a given number of hops: This computes which persons are at a given number of hops for a given person.</li>
    <li>Average number of hops: Computes the average number of hops between one person and any other.</li>
  </ul>
  <p>You just have to fill the form and push the button!</p>
  <p>The oracle works with IMDB.com data which is available at no cost for non-comercial purposes. There are 1,925,775 movies, 2,633,235 persons and 21,782,584 links between them stored in the oracle (August 2011).</p>
</div>
<div id="how-does-it-work-internally">
  <h3>How does it work internally?</h3>
  <p>You can find lot of technical details in the <a href="http://code.google.com/p/oracleofwoodyallen/w/list" style="color:#000000;" target="_blank">wiki pages</a> that I have published at the <a href="http://code.google.com/p/oracleofwoodyallen/" style="color:#000000;" target="_blank">project's page</a>, in Google Code. The following pages are the most important and you should read them if you want to know well how the oracle works internally.</p>
  <ul>
    <li><a href="http://code.google.com/p/oracleofwoodyallen/wiki/TheGraph" style="color:#000000;" target="_blank">The graph</a>, this page explains how the relationship among different persons are expressed as a bipartite graph.</li>
    <li><a href="http://code.google.com/p/oracleofwoodyallen/wiki/ShortestPath" style="color:#000000;" target="_blank">Shortest path</a>, the algorithms used in the oracle to determine the shortest path between two persons are explained in this wiki page.</li>
    <li><a href="http://code.google.com/p/oracleofwoodyallen/wiki/RadixTree" style="color:#000000;" target="_blank">Radix tree</a>, this page explains how the names of the people are maintained in the oracle to allow fast approximate lookups (approximate string matching).</li>
    <li><a href="http://code.google.com/p/oracleofwoodyallen/wiki/ApproximateStringMatching" style="color:#000000;" target="_blank">Approximate string matching</a>, this page explains how the approximate string matching is performed using the structure of a trie and the Damerau-Levenshtein distance.</li>
  </ul>
  <p>You can also read the comments available on the <a href="http://code.google.com/p/oracleofwoodyallen/source/browse/#svn%2Foracle%2Ftrunk" style="color:#000000;" target="_blank">source code</a> and the <a href="./doc/html/" style="color:#000000;" target="_blank">documentation</a>.</p>
  <p>If you have any comment or any question, please comment on the related wiki page, or write an email to me!</p>
</div>
<div id="thanks-to">
  <h3>Thanks to</h3>

  <ul>
    <li>All my friends and Facebook and Twitter contacts who worked as beta-testers for free.</li>
    <li><a href="http://personales.upv.es/jococa1/" style="color:#000000;" target="_blank"><strong>Alberto Conejero</strong></a> who gave me some ideas about the project.</li>
    <li><a href="http://piki.org/patrick/" style="color:#000000;" target="_blank"><strong>Patrick Reynolds</strong></a> who maintains <a href="http://oracleofbacon.org" style="color:#000000;" target="_blank">www.oracleofbacon.org</a> and helped me in my initial project.</li>
    <li><a href="http://users.dsic.upv.es/~cmartine/" style="color:#000000;" target="_blank"><strong>Carlos Martínez</strong></a>, <a href="http://users.dsic.upv.es/~fjabad/" style="color:#000000;" target="_blank"><strong>Paco Abad</strong></a> and <strong>Alberto Sanchis</strong>, my Programming professors, who helped me in 2007-2008.</li>
    <li>The <a href="http://www.imdb.com" style="color:#000000;" target="_blank"><strong>Internet Movie Data Base</strong></a> people for their excellent work and making public their data.</li>
  </ul>
</div>
